<?php 
  session_start();
  include("configuracion/configuracion.php");
  include("includes/diccionario.class.php");
  include("includes/latex.class.php");
  include("includes/acciones.class.php");
  include("includes/SimpleXmlExtended.class.php");
  //include("includes/latexCompleto.class.php");
  
  $layout = 'plantillas/layout.php';
  $plantilla = "plantillas/principal.php";
  
  # CAPTURAMOS LAS VARIABLES ENVIADAS
  $parametros = (isset($_POST) && !empty($_POST)) ? $_POST : (isset($_GET) && !empty($_GET)? $_GET: null);
  
  if($parametros !== null)
  {
     //VERIFICAMOS CUAL ES LA PLANTILLA A CARGAR
     switch($parametros)
     {
         case isset($parametros['principal_admin']):
            $layout = 'plantillas/layoutAdmin.php';
            $plantilla = "plantillas/principalAdmin.php";
            break;
         case isset($parametros['error_logeo']):
            $layout = 'plantillas/layout.php';
            $plantilla = 'plantillas/errorLogeo.php';
            break;
     ######################################################################
	 case isset($parametros['sobre_proyecto']):
	    $plantilla = "plantillas/sobreProyecto.php";
	    break;
	    
	 ######################################################################  
	 case isset($parametros['cerrar_sesion']):
	    session_destroy();
	    break;
	 ######################################################################  
	 case isset($parametros['logear']):
	    if(!isset($_SESSION['login']) || !isset($_SESSION['clave']))
	    {
              $plantilla = "plantillas/logear.php";
            }
            else
            {
              $layout = 'plantillas/layoutAdmin.php';
              $plantilla = "plantillas/principalAdmin.php";
            }  
	    break;
	    
	 ######################################################################
	 case isset($parametros['logear_admin']):
	    #NOS ASEGURAMOS QUE LA VARIABLE ES POST PARA EVITAR HUECO DE SEGURIDAD
	    if(isset($_POST['logear_admin']))
	    {
	       $login = $_POST['login'];
	       $clave = $_POST['clave'];
	       
	       if($login == $confUsuarioAdmin && $clave == $confPassword)
	       {
	          $layout = 'plantillas/layoutAdmin.php';
                  $plantilla = "plantillas/principalAdmin.php";
                  $_SESSION['login'] = $login;
                  $_SESSION['clave'] = $clave;
	       }
	       else
	       {
	          $plantilla = 'plantillas/errorLogeo.php';
	       }
	       
	    }
	    break;
	 
	 ######################################################################
	 
	 case isset($parametros['enlaces']):
	    $plantilla = "plantillas/enlaces.php";
	    break;
	    
	 ######################################################################
	 case isset($parametros['contactanos']):
	    $plantilla = "plantillas/contactanos.php";
	    break;
	    
	 ######################################################################
	 case isset($parametros['consultar']):
	    $plantilla = "plantillas/formConsultar.php";
	    break;
	
	######################################################################
	 case isset($parametros['insertar']):
	 	$layout = 'plantillas/layoutAdmin.php';
	    $plantilla = "plantillas/insertarTerminoAdmin.php";
	    break;
	    
	 ######################################################################
	 case isset($parametros['insertarPorFormulario']):
	 	$layout = 'plantillas/layoutAdmin.php';
	    $plantilla = "plantillas/formIngresoTerminoAdmin.php";
	    break;

	 ######################################################################
	 case isset($parametros['insertarLotes']):
	    $layout = 'plantillas/layoutAdmin.php';
	    $plantilla = "plantillas/formIngresoLotesAdmin.php";
	    break;
	    
	 ######################################################################
	 case isset($parametros['modificar_registro']):
	    $layout = 'plantillas/layoutAdmin.php';
	    $plantilla = "plantillas/formIngresoTerminoAdmin.php";
	    $acciones = new Acciones();
	    $resultado = $acciones->detalle_registro(Array('detalle_registro'=>$parametros['modificar_registro']),$plantilla);
	    $msgProceso = $resultado['msgProceso'];
	    $plantilla = $resultado['plantilla'];
	    $registro = $resultado['datos'];
	    break;
	    
	 ######################################################################
	 case isset($parametros['guadar_datos']):
	    #NOS ASEGURAMOS QUE LA VARIABLE ES POST PARA EVITAR HUECO DE SEGURIDAD
	    if(isset($_POST['guadar_datos']))
	    {
	      $layout = 'plantillas/layoutAdmin.php';
	      $plantilla = "plantillas/formIngresoTerminoAdmin.php";
	      $acciones = new Acciones();
	      # DAMOS FORMATO LOS DATOS PARA CREAR UN REGISTRO
	      $registro = $acciones->formatearDatosTermino($_POST,$confAmbito);
	      # VALIDAMOS CAMPOS OBLIGATORIOS
	      $errores = $acciones->validarDatosTermino($registro,$confErrorFormulario);
	      if(!isset($errores))
	      {
	        $diccionario = new Diccionario($registro);
	        if($diccionario->salvar())
	        {
	           $msgProceso = "Los datos fueron almacenados correctamente";
	           $plantilla = "plantillas/consultarAdmin.php";
	        }
	        else
	        {
	           $msgProceso = "Ocurrio un error al momento de ingresar los datos. Intente nuevamente";
	           $plantilla = "plantillas/formIngresoTerminoAdmin.php";
	        }
	      }
	    }
	 ######################################################################
	 case isset($parametros['guardar_lotes']):
	    #NOS ASEGURAMOS QUE LA VARIABLE ES POST PARA EVITAR HUECO DE SEGURIDAD
	    if(isset($_POST['guardar_lotes']))
	    {  
	      $layout = 'plantillas/layoutAdmin.php';
	      $plantilla = "plantillas/formIngresoLotesAdmin.php";
	      $destino = 'datos/temporal/';
	      $rutaArchivo = $destino.'temporal'.'.txt';
	      copy( $_FILES['nombreArchivo']['tmp_name'], $rutaArchivo);
	      $acciones = new Acciones();
	      $registro = $acciones->ingresar_lotes($rutaArchivo, $confAmbito);
	      //$registro = true;
	      if($registro){
	           $msgProceso = "Los datos fueron almacenados correctamente";
	           $plantilla = "plantillas/consultarAdmin.php";          
	      }else{
	           $msgProceso = "Ocurrio un error al momento de ingresar los datos. Intente nuevamente";
	      }
	      unlink($rutaArchivo);
	    }
	 ######################################################################
	 case isset($parametros['buscar_datos']):
	 
	    #NOS ASEGURAMOS QUE LA VARIABLE ES POST PARA EVITAR HUECO DE SEGURIDAD
	    if(isset($_POST['buscar_datos']))
	    {
	      $acciones = new Acciones();
	      $resultado = $acciones->buscar_datos($_POST);
	      $msgProceso = $resultado['msgProceso'];
	      $plantilla = $resultado['plantilla'];
	      $lista_registros = $resultado['datos'];
	    }
	    break;
	 ######################################################################
	 case isset($parametros['consultar_admin']):
	    $layout = 'plantillas/layoutAdmin.php';
	    $plantilla = "plantillas/consultarAdmin.php";
	    break;
	 ######################################################################
	 case isset($parametros['buscar_datos_admin']):
	    if(isset($_POST['buscar_datos_admin']))
	    {
	      $acciones = new Acciones();
	      $resultado = $acciones->buscar_datos($_POST);
	      $msgProceso = $resultado['msgProceso'];
	      $plantilla = $resultado['plantilla'];
	      $lista_registros = $resultado['datos'];
	    }
	     
	    $layout = 'plantillas/layoutAdmin.php';
	    $plantilla = "plantillas/listarRegistrosAdmin.php";
	    break;
	 ######################################################################
	 case isset($parametros['detalle_registro']):    
        $acciones = new Acciones();
	    $resultado = $acciones->detalle_registro($parametros);
	    $msgProceso = $resultado['msgProceso'];
	    $plantilla = $resultado['plantilla'];
	    $registro = $resultado['datos'];
	    break;
	 ######################################################################
	 case isset($parametros['generar_latex']):     
        $acciones = new Acciones();
        $id = $parametros['generar_latex'];
	    $resultado = $acciones->generar_latex($id);
	    $nombreArchivo  = $resultado['nombreArchivo'];
	    $ruta = "datos/temporal/".$nombreArchivo."/".$nombreArchivo.".tex";
		header("Location: ".$ruta);
		exit();
	  break;
	 ######################################################################
	 case isset($parametros['generarDiccionarioLatex']):     
        $acciones = new Acciones();
	    $acciones->generarDiccionarioLatex();
	    $ruta = "datos/temporal/Diccionario/diccionario.tex";
		header("Location: ".$ruta);
		exit();
	  break;
	  
	 ######################################################################
	 case isset($parametros['generar_pdf']):     
        $acciones = new Acciones();
        $id = $parametros['generar_pdf'];
	    $resultado = $acciones->generar_latex($id);
	    $nombreArchivo  = $resultado['nombreArchivo'];
	    $acciones->generar_pdf($nombreArchivo);
	    $ruta = "datos/temporal/".$nombreArchivo."/".$nombreArchivo.".pdf";
	    header('Content-type: application/pdf');
	    header('Content-Disposition: attachment; filename="'.$nombreArchivo.'"');
	    readfile($ruta);
		//header("Location: ".$ruta);
		exit();
	  break;
	  
	  ######################################################################
	 case isset($parametros['generarDiccionarioPdf']):  
	    $acciones = new Acciones();
	    $acciones->generarDiccionarioLatex();
	    $acciones->generarPdfCompleto();
	    $ruta = "datos/temporal/Diccionario/diccionario.pdf";
	    header('Content-type: application/pdf');
	    header('Content-Disposition: attachment; filename="diccionario.pdf"');
	    readfile($ruta);
		exit();   
	  break;
	    
	 ######################################################################
	 case isset($parametros['detalle_registro_admin']):
            $layout = 'plantillas/layoutAdmin.php';
            $acciones = new Acciones();
	    $resultado = $acciones->detalle_registro(Array('detalle_registro'=>$parametros['detalle_registro_admin']));
	    $msgProceso = $resultado['msgProceso'];
	    $plantilla = $resultado['plantilla'];
	    $registro = $resultado['datos'];
	      
	    break;
	 ######################################################################
	 case isset($parametros['eliminar_dato']):
	    if((isset($_SESSION['login'])) && isset($_SESSION['clave']))  
	    {
	      $diccionario = new Diccionario(Array('identificador'=>$parametros['eliminar_dato'])); 
	      $diccionario->eliminar();
	      $msgProceso = "¡Los datos fueron eliminados correctamente!";
	      $acciones = new Acciones();
	      $resultado = $acciones->buscar_datos(Array());
	      $lista_registros = $resultado['datos'];
	      $layout = 'plantillas/layoutAdmin.php';
	      $plantilla = "plantillas/listarRegistrosAdmin.php";
	    }
	    break;
	 ######################################################################
	 case isset($parametros['descargarDiccionario']):
	    $plantilla = "plantillas/descargarDiccionario.php";
	    break;
    
     }
  }

  include($layout);
  
?>
